﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLTV_Public;
using QLTV_BLL;

namespace QLTV_GiaoDien
{
    public partial class uc_TraTaiLieu : DevExpress.XtraEditors.XtraUserControl
    {
        public uc_TraTaiLieu()
        {
            InitializeComponent();
        }
        MuonTra_BLL muontra_bll = new MuonTra_BLL();
        private void uc_TraTaiLieu_Load(object sender, EventArgs e)
        {
            cob_SoLuong.Hide();
            btn_TraSach.Enabled = false;
        }

        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                txt_MaDocGia.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Độc Giả").ToString();
                txt_MaTaiLieu.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Tài Liệu").ToString();
                txt_MaPhieuMuon.Text = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Phiếu Mượn").ToString();
            }
            catch (Exception)
            {
                XtraMessageBox.Show("Bạn hãy nhập Mã độc giả và Mã tài liệu để trả tài liệu!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
        }
        TrungGian tg = new TrungGian();
        NhatKy_BLL nhatky_bll = new NhatKy_BLL();
        NhatKy_Public nk = new NhatKy_Public();
        TaiLieu_BLL tailieu_bll = new TaiLieu_BLL();
        private void btn_TraSach_Click(object sender, EventArgs e)
        {
            try
            {
                if (txt_MaDocGia.Text != "" && txt_MaTaiLieu.Text != "" && txt_MaPhieuMuon.Text != "")
                {
                    MuonTra_Public mt = new MuonTra_Public();
                    mt.MaTaiLieu = int.Parse(txt_MaTaiLieu.Text);
                    mt.MaPhieuMuon = int.Parse(txt_MaPhieuMuon.Text);
                    mt.NgayTra = Convert.ToDateTime(dateTime_NgayTra.Text);
                    mt.TrangThai = "Đã Trả";
                    if (XtraMessageBox.Show("Bạn có muốn trả tài liệu cho Mã độc giả: '" + txt_MaDocGia.Text + "' này không?", "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
                    {
                        muontra_bll.update_MuonTra_TrangThai(mt, mt, mt, mt);

                        // cập nhật số lương khi trả sách
                        int sl = int.Parse(cob_SoLuong.Text), kq;
                        kq = sl + 1;
                        TaiLieu_Public tl = new TaiLieu_Public();
                        tl.MaTaiLieu = int.Parse(txt_MaTaiLieu.Text);
                        tl.SoLuong = kq;
                        tailieu_bll.update_TaiLieu_SoLuong(tl, tl);
                        //luu nhat ky
                        string day = DateTime.Now.ToString();
                        nk.MaNV = tg.MaNV;
                        nk.NgayGio = day;
                        nk.HanhDong = "Trả Tài Liệu";
                        nk.MoTa = "Trả tài liệu có Mã: '" + tl.MaTaiLieu + "'";
                        nhatky_bll.insert_nhatKy(nk, nk, nk, nk);
                        XtraMessageBox.Show("Đã trả tài liệu thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txt_MaDocGia.ResetText();
                        txt_MaTaiLieu.ResetText();
                        txt_MaDocGia_TextChanged(sender, e);
                    }
                }
                else
                {
                    XtraMessageBox.Show("Bạn chưa nhập Mã độc giả hoặc Mã tài liệu hoặc Mã phiếu mượn!","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    txt_MaDocGia.Focus();
                }
            }
            catch (Exception)
            {
                XtraMessageBox.Show("Trả tài liệu không thành công! Hãy nhập lại Mã độc giả hoặc Mã Tài Liệu","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
            //gridView1.RefreshData();

        }

        public void button()
        {
            if (txt_MaPhieuMuon.Text != "" && txt_MaDocGia.Text != "" && txt_MaTaiLieu.Text != "")
            {
                string sql = "select * from tbl_PhieuMuon,tbl_MuonTra where tbl_PhieuMuon.MaPhieuMuon=tbl_MuonTra.MaPhieuMuon and tbl_MuonTra.MaPhieuMuon='"+txt_MaPhieuMuon.Text+"' and tbl_MuonTra.MaTaiLieu='"+txt_MaTaiLieu.Text+"' and tbl_PhieuMuon.MaDocGia='"+txt_MaDocGia.Text+"'";
                DataTable dt = new DataTable();
                dt = muontra_bll.TaoBang(sql);
                if (dt.Rows.Count > 0)
                    btn_TraSach.Enabled = true;
                else
                    XtraMessageBox.Show("Dữ liệu không tồn tại! Hãy nhập lại","Thông Báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
            else
                btn_TraSach.Enabled = false;
        }
        private void txt_MaDocGia_TextChanged(object sender, EventArgs e)
        {
            DocGia_Public dg = new DocGia_Public();
            try
            {
                string sql = "select HoVaTen from tbl_DocGia where MaDocGia='"+txt_MaDocGia.Text+"'";
                DataTable dt = new DataTable();
                dt = muontra_bll.TaoBang(sql);
                cob_TenDocGia.DataSource = dt;
                cob_TenDocGia.DisplayMember = "HoVaTen";
                dg.MaDocGia = int.Parse(txt_MaDocGia.Text);
                gridControl1.DataSource = muontra_bll.TraSach(dg);
            }
            catch (Exception)
            { }
            button();
        }

        private void txt_MaTaiLieu_TextChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            string sql = "select * from tbl_TaiLieu where MaTaiLieu='"+txt_MaTaiLieu.Text+"'";
            dt = tailieu_bll.taoBang(sql);
            cob_SoLuong.DataSource = dt;
            cob_SoLuong.DisplayMember = "SoLuong";
            string sql2 = "select tbl_TaiLieu.TenTaiLieu from tbl_TaiLieu,tbl_MuonTra where tbl_MuonTra.MaTaiLieu=tbl_TaiLieu.MaTaiLieu and tbl_TaiLieu.MaTaiLieu='" + txt_MaTaiLieu.Text + "'";
            DataTable dt2 = new DataTable();
            dt2 = tailieu_bll.taoBang(sql2);
            cob_TenTaiLieu.DataSource = dt2;
            cob_TenTaiLieu.DisplayMember = "TenTaiLieu";
            button();
        }

        private void txt_MaDocGia_MouseMove(object sender, MouseEventArgs e)
        {
           
        }

        private void txt_MaPhieuMuon_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void txt_MaPhieuMuon_TextChanged(object sender, EventArgs e)
        {
            button();
        }

        private void txt_MaTaiLieu_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void txt_MaDocGia_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }
    }
}
